package com.ruoyi.system.mapper;

import com.ruoyi.common.core.domain.entity.SysMiniUser;
import com.ruoyi.system.domain.bo.ApiSysMiniUserBo;
import com.ruoyi.system.domain.vo.ApiSysMiniUserVo;
import com.ruoyi.system.domain.vo.MemberExportExcelVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 小程序用户Mapper接口
 * 
 * @author ruoyi
 * @date 2022-01-23
 */
public interface SysMiniUserMapper 
{
    /**
     * 查询小程序用户
     * 
     * @param miniUserId 小程序用户主键
     * @return 小程序用户
     */
    public SysMiniUser selectSysMiniUserByMiniUserId(Long miniUserId);

    /**
     * 查询小程序用户列表
     * 
     * @param sysMiniUser 小程序用户
     * @return 小程序用户集合
     */
    public List<SysMiniUser> selectSysMiniUserList(SysMiniUser sysMiniUser);

    /**
     * 新增小程序用户
     * 
     * @param sysMiniUser 小程序用户
     * @return 结果
     */
    public int insertSysMiniUser(SysMiniUser sysMiniUser);

    /**
     * 修改小程序用户
     * 
     * @param sysMiniUser 小程序用户
     * @return 结果
     */
    public int updateSysMiniUser(SysMiniUser sysMiniUser);

    /**
     * 删除小程序用户
     * 
     * @param miniUserId 小程序用户主键
     * @return 结果
     */
    public int deleteSysMiniUserByMiniUserId(Long miniUserId);

    /**
     * 批量删除小程序用户
     * 
     * @param miniUserIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSysMiniUserByMiniUserIds(Long[] miniUserIds);


    public SysMiniUser selectSysMiniUserByOpenId(String openid);

    public SysMiniUser selectSysMiniUserByJobNumber(String  jobNumber);

    public SysMiniUser selectSysMiniUserByJobNumberAndRealName(@Param("jobNumber") String  jobNumber, @Param("realName") String realName);

    public SysMiniUser selectSysMiniUserByTel(String tel);

    /**
     * 会员查询
     * @param sysMiniUser
     * @return
     */
    public List<SysMiniUser>  selectMemberList(SysMiniUser sysMiniUser);

    public List<ApiSysMiniUserVo>  getMemberListNoDataScope(ApiSysMiniUserBo bo);

    public List<MemberExportExcelVO>  exportMember(SysMiniUser sysMiniUser);

    public Integer selectMemberNum(SysMiniUser sysMiniUser);

    public void updateNoMember(SysMiniUser sysMiniUser);

    public List<SysMiniUser> getNomeberByType(String type);
}
